package com.hqyj.shop.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 *
 * </p>
 *
 * @author rock
 * @since 2024-10-16 10:45:08
 */
@Getter
@Setter
@TableName("order_info")
public class OrderInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 订单编号
     */
    @TableId(value = "order_id", type = IdType.ASSIGN_UUID)
    private String orderId;

    /**
     * 用户id
     */
    @TableField("user_id")
    private Integer userId;

    /**
     * 订单的状态，0::待支付、1:已支付、2:已取消等。
     */
    @TableField("order_status")
    private Integer orderStatus;

    /**
     * 订单金额
     */
    @TableField("order_money")
    private BigDecimal orderMoney;

    /**
     * 付款时间
     */
    @TableField("pay_time")
    private Date payTime;

    /**
     * 支付方式 0 支付宝 1 微信支付 2 线下支付
     */
    @TableField("pay_type")
    private Integer payType;

    /**
     * 订单收货人的姓名。
     */
    @TableField("name")
    private String name;

    /**
     * 订单收货的详细地址
     */
    @TableField("address")
    private String address;

    /**
     * 收货人电话
     */
    @TableField("phone")
    private String phone;

    /**
     * 收货人邮政编码
     */
    @TableField("post_code")
    private String postCode;

    /**
     * 收货人电子邮件
     */
    @TableField("email")
    private String email;

    /**
     * 订单备注:用户填写
     */
    @TableField("order_remark")
    private String orderRemark;

    /**
     * 逻辑删除  0 未删除  1删除
     */
    @TableField("delete_tag")
    private Integer deleteTag;

    /**
     * 配送类型 0 申通快递 1 顺丰快递 2 邮局平邮
     */
    @TableField("delivery_type")
    private Integer deliveryType;

    /**
     * 付款金额
     */
    @TableField("pay_money")
    private BigDecimal payMoney;

    //订单详细对象集合
    @TableField(exist = false)
    private List<OrderDetail> orderDetailList;
    //销售记录对象集合
    @TableField(exist = false)
    private List<Sales> salesList;


}
